package com.vhuan.self_discipline_service.service.battery;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vhuan.self_discipline_service.domain.battery.dto.BatteryBehaviorDTO;
import com.vhuan.self_discipline_service.domain.battery.dto.BatteryDTO;
import com.vhuan.self_discipline_service.domain.battery.po.BatteryEntity;

import java.util.List;

public interface BatteryService extends IService<BatteryEntity> {
    /**
     * 获取用户的电池列表
     * @param uid 用户id
     * @return 电池列表
     */
    List<BatteryDTO> getBatteryList(Long uid);

    /**
     * 新增电池
     * @param batteryDTO 电池信息
     */
    void addBattery(BatteryDTO batteryDTO);

    /**
     * 删除电池
     * @param batteryId 电池id
     */
    void deleteBattery(Long batteryId);

    /**
     * 新增电池行为
     * @param batteryBehaviorDTO 电池行为信息
     */
    void addBatteryBehavior(BatteryBehaviorDTO batteryBehaviorDTO);

    /**
     * 删除电池行为
     * @param batteryBehaviorId 电池行为id
     */
    void deleteBatteryBehavior(Long batteryBehaviorId);

    /**
     * 定时器生成电池周期
     */
    void generarteBatteryPeriodEveryDay();
}
